# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Lufia II Ancient Cave Template

game: Lufia II Ancient Cave
requires:
  version: 0.6.6 # Version of Archipelago required for this yaml to work as expected.

Lufia II Ancient Cave:
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  blue_chest_chance:
    # The chance of a chest being a blue chest.
    # 
    # It is given in units of 1/256, i.e., a value of 25 corresponds to 25/256 ~ 9.77%.
    # If you increase the blue chest chance, then the red chest chance is decreased in return.
    # Supported values: 5 – 75
    # Default value: 25 (five times as much as in an unmodified game)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 5
    # Maximum value is 75
    25: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-5-75: 0 # random value between 5 and 75

  blue_chest_count:
    # The number of blue chest items that will be in your item pool.
    # 
    # The number of blue chests in your world that count as multiworld location checks will be equal this amount plus one
    # more for each party member or capsule monster if you have shuffle_party_members/shuffle_capsule_monsters enabled.
    # (You will still encounter blue chests in your world after all the multiworld location checks have been exhausted,
    # but these chests will then generate items for yourself only.)
    # Supported values: 10 – 100
    # Default value: 25
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 10
    # Maximum value is 100
    25: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-10-100: 0 # random value between 10 and 100

  boss:
    # Which boss to fight on the final floor.
    # 
    # Supported values:
    # lizard_man, big_catfish, regal_goblin, follower_x2, camu, tarantula, pierre, daniele, gades_a, mummy_x4, troll_x3,
    # gades_b, idura_a, lion_x2, idura_b, idura_c, rogue_flower, soldier_x4, gargoyle_x4, venge_ghost, white_dragon_x3,
    # fire_dragon, ghost_ship, tank, gades_c, amon, erim, daos, egg_dragon, master
    # random-low — select a random regular boss, from lizard_man to troll_x3
    # random-middle — select a random regular boss, from idura_a to gargoyle_x4
    # random-high — select a random regular boss, from venge_ghost to tank
    # random-sinistral — select a random Sinistral boss
    # Default value: master (same as in an unmodified game)
    lizard_man: 0
    big_catfish: 0
    regal_goblin: 0
    follower_x2: 0
    camu: 0
    tarantula: 0
    pierre: 0
    daniele: 0
    gades_a: 0
    mummy_x4: 0
    troll_x3: 0
    gades_b: 0
    idura_a: 0
    lion_x2: 0
    idura_b: 0
    idura_c: 0
    rogue_flower: 0
    soldier_x4: 0
    gargoyle_x4: 0
    venge_ghost: 0
    white_dragon_x3: 0
    fire_dragon: 0
    ghost_ship: 0
    tank: 0
    gades_c: 0
    amon: 0
    erim: 0
    daos: 0
    egg_dragon: 0
    master: 50
    random-high: 0
    random-low: 0
    random-sinistral: 0
    random-middle: 0

  capsule_cravings_jp_style:
    # Make capsule monster cravings behave as in the Japanese version.
    # 
    # In the US version, the data that determines which items a capsule monster can request is a mess.
    # It allows only for a very limited selection of items to be requested, and the quality of the selected item is almost
    # always either too low or too high (compared to the capsule monsters current quality preference). This means that,
    # if fed, the requested item will either be rejected by the capsule monster or lead to an unreasonable increase of the
    # quality preference, making further feeding more difficult.
    # This setting provides a fix for the bug described above.
    # If enabled, the capsule monster feeding behavior will be changed to behave analogous to the JP (and EU) version.
    # This means that requests become more varied, while the requested item will be guaranteed to be of the same quality
    # as the capsule monsters current preference. Thus, it can no longer happen that the capsule monster dislikes eating
    # the very item it just requested.
    # Supported values: false, true
    # Default value: false (same as in an unmodified game)
    'false': 50
    'true': 0

  capsule_starting_form:
    # The starting form of your capsule monsters.
    # 
    # Supported values: 1 – 4, m
    # Default value: 1 (same as in an unmodified game)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 5
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-5: 0 # random value between 1 and 5
    default: 50 # equivalent to 1
    m: 0 # equivalent to 5

  capsule_starting_level:
    # The starting level of your capsule monsters.
    # 
    # Can be set to the special value party_starting_level to make it the same value as the party_starting_level option.
    # Supported values: 1 – 99, party_starting_level
    # Default value: 1 (same as in an unmodified game)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-99: 0 # random value between 1 and 99
    default: 50 # equivalent to 1
    party_starting_level: 0 # equivalent to 0

  crowded_floor_chance:
    # The chance of a floor being a crowded floor.
    # 
    # It is given in units of 1/256, i.e., a value of 16 corresponds to 16/256 = 6.25%.
    # A crowded floor is a floor where most of the chests are grouped in one room together with many enemies.
    # Supported values: 0 – 255
    # Default value: 16 (same as in an unmodified game)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 255
    16: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-255: 0 # random value between 0 and 255

  custom_item_pool:
    # Customize your multiworld item pool.
    # 
    # Using this option you can place any cave item in your multiworld item pool. (By default, the pool is filled with
    # blue chest items.) Here you can add any valid item from the Lufia II Ancient Cave section of the datapackage
    # (see https://archipelago.gg/datapackage). The value of this option has to be a mapping of item name to count,
    # e.g., to add two Deadly rods and one Dekar Blade: {Deadly rod: 2, Dekar blade: 1}
    # The maximum total amount of custom items you can place is limited by the chosen blue_chest_count; any remaining,
    # non-customized space in the pool will be occupied by random blue chest items.
    {}

  death_link:
    # When you die, everyone who enabled death link dies. Of course, the reverse is true too.
    'false': 50
    'true': 0

  default_capsule:
    # Preselect the active capsule monster.
    # 
    # (Only has an effect if shuffle_capsule_monsters is set to false.)
    # Supported values: jelze, flash, gusto, zeppy, darbi, sully, blaze
    # Default value: jelze
    jelze: 50
    flash: 0
    gusto: 0
    zeppy: 0
    darbi: 0
    sully: 0
    blaze: 0

  default_party:
    # Preselect the party lineup.
    # 
    # (Only has an effect if shuffle_party_members is set to false.)
    # Supported values:
    # Can be set to any valid combination of up to 4 party member initials, e.g.:
    # M — Maxim
    # DGMA — Dekar, Guy, Maxim, and Arty
    # MSTL — Maxim, Selan, Tia, and Lexis
    # random-2p — a random 2-person party
    # random-3p — a random 3-person party
    # random-4p — a random 4-person party
    # Default value: M
    random-2p: 0
    random-3p: 0
    random-4p: 0
    m: 50
    ma: 0
    md: 0
    mg: 0
    ml: 0
    ms: 0
    mt: 0
    mad: 0
    mag: 0
    mal: 0
    mas: 0
    mat: 0
    mdg: 0
    mdl: 0
    mds: 0
    mdt: 0
    mgl: 0
    mgs: 0
    mgt: 0
    mls: 0
    mlt: 0
    mst: 0
    madg: 0
    madl: 0
    mads: 0
    madt: 0
    magl: 0
    mags: 0
    magt: 0
    mals: 0
    malt: 0
    mast: 0
    mdgl: 0
    mdgs: 0
    mdgt: 0
    mdls: 0
    mdlt: 0
    mdst: 0
    mgls: 0
    mglt: 0
    mgst: 0
    mlst: 0

  enemy_floor_numbers:
    # Change which enemy types are encountered at which floor numbers.
    # 
    # Supported values:
    # vanilla
    #     Ninja, e.g., is allowed to appear on the 3 floors B44-B46
    # shuffle — The existing enemy types are redistributed among nearby floors. Shifts by up to 6 floors are possible.
    #     Ninja, e.g., will be allowed to appear on exactly 3 consecutive floors somewhere from B38-B40 to B50-B52
    # randomize — For each floor, new enemy types are chosen randomly from the set usually possible on floors [-6, +6].
    #     Ninja, e.g., is among the various possible selections for any enemy slot affecting the floors from B38 to B52
    # Default value: vanilla (same as in an unmodified game)
    vanilla: 50
    shuffle: 0
    randomize: 0

  enemy_movement_patterns:
    # Change the movement patterns of enemies.
    # 
    # Supported values:
    # vanilla
    # shuffle_by_pattern — The existing movement patterns are redistributed among each other.
    #     Sprites that usually share a movement pattern will still share movement patterns after shuffling
    # randomize_by_pattern — For each movement pattern, a new one is chosen randomly from the set of existing patterns.
    #     Sprites that usually share a movement pattern will still share movement patterns after randomizing
    # shuffle_by_sprite — The existing movement patterns of sprites are redistributed among the enemy sprites.
    #     Sprites that usually share a movement pattern can end up with different movement patterns after shuffling
    # randomize_by_sprite — For each sprite, a new movement is chosen randomly from the set of existing patterns.
    #     Sprites that usually share a movement pattern can end up with different movement patterns after randomizing
    # singularity — All enemy sprites use the same, randomly selected movement pattern
    # Alternatively, you can directly specify an enemy name such as "Red Jelly" as the value of this option.
    #     In that case, the movement pattern usually associated with this sprite will be used by all enemy sprites
    # Default value: vanilla (same as in an unmodified game)
    vanilla: 50
    shuffle_by_pattern: 0
    randomize_by_pattern: 0
    shuffle_by_sprite: 0
    randomize_by_sprite: 0
    singularity: 0

  enemy_sprites:
    # Change the appearance of enemies.
    # 
    # Supported values:
    # vanilla
    # shuffle — The existing sprites are redistributed among the enemy types.
    #     This means that, after shuffling, exactly 1 enemy type will be dressing up as the "Red Jelly" sprite
    # randomize — For each enemy type, a new sprite is chosen randomly from the set of existing sprites.
    #     This means that, after randomizing, any number of enemy types could end up using the "Red Jelly" sprite
    # singularity — All enemies use the same, randomly selected sprite
    # Alternatively, you can directly specify an enemy name such as "Red Jelly" as the value of this option.
    #     In this case, the sprite usually associated with that enemy will be used by all enemies
    # Default value: vanilla (same as in an unmodified game)
    vanilla: 50
    shuffle: 0
    randomize: 0
    singularity: 0

  exp_modifier:
    # Percentage modifier for EXP gained from enemies.
    # 
    # Supported values: 100 – 500
    # Default value: 100 (same as in an unmodified game)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 100
    # Maximum value is 500
    100: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-100-500: 0 # random value between 100 and 500

  final_floor:
    # The final floor, where the boss resides.
    # 
    # Supported values: 2 – 99
    # Default value: 99 (same as in an unmodified game)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 2
    # Maximum value is 99
    99: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-2-99: 0 # random value between 2 and 99

  gear_variety_after_b9:
    # Fixes a bug that prevents various gear from appearing after B9.
    # 
    # Due to an overflow bug in the game, the distribution of red chest gear is impaired after B9.
    # Starting with B10, the number of items available from red chests is severely limited, meaning that red chests will
    # no longer contain any shields, headgear, rings, or jewels (and the selection of body armor is reduced as well).
    # This setting provides a fix for the bug described above.
    # If enabled, red chests beyond B9 will continue to produce shields, headgear, rings, and jewels as intended,
    # while the odds of finding body armor in red chests are decreased as a result.
    # The distributions of red chest weapons, spells, and consumables as well as blue chests are unaffected.
    # Supported values: false, true
    # Default value: false (same as in an unmodified game)
    'false': 50
    'true': 0

  goal:
    # The objective you have to fulfill in order to complete the game.
    # 
    # Supported values:
    # boss — defeat the boss on the final floor
    # iris_treasure_hunt — gather the required number of Iris treasures and leave the cave
    # boss_iris_treasure_hunt — complete both the "boss" and the "iris_treasure_hunt" objective (in any order)
    # final_floor — merely reach the final floor
    # Default value: boss
    boss: 50
    iris_treasure_hunt: 0
    boss_iris_treasure_hunt: 0
    final_floor: 0

  gold_modifier:
    # Percentage modifier for gold gained from enemies.
    # 
    # Supported values: 25 – 400
    # Default value: 100 (same as in an unmodified game)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 25
    # Maximum value is 400
    100: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-25-400: 0 # random value between 25 and 400

  healing_floor_chance:
    # The chance of a floor having a healing tile hidden under a bush.
    # 
    # It is given in units of 1/256, i.e., a value of 16 corresponds to 16/256 = 6.25%.
    # Supported values: 0 – 255
    # Default value: 16 (same as in an unmodified game)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 255
    16: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-255: 0 # random value between 0 and 255

  inactive_exp_gain:
    # The rate at which characters not currently in the active party gain EXP.
    # 
    # Supported values: disabled, half, full
    # Default value: disabled (same as in an unmodified game)
    disabled: 50
    half: 0
    full: 0

  initial_floor:
    # The initial floor, where you begin your journey.
    # 
    # (If this value isn't smaller than the value of final_floor, it will automatically be set to final_floor - 1)
    # Supported values: 1 – 98
    # Default value: 1 (same as in an unmodified game)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 98
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-98: 0 # random value between 1 and 98

  iris_floor_chance:
    # The chance of a floor being able to generate an Iris treasure.
    # 
    # It is given in units of 1/256, i.e., a value of 5 corresponds to 5/256 ~ 1.95%.
    # The true chance of a floor holding an Iris treasure you need is usually lower than the chance specified here, e.g.,
    # if you have already found 8 of 9 Iris items then the chance of generating the last one is only 1/9 of this value.
    # Supported values: 5 – 255
    # Default value: 5 (same as in an unmodified game)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 5
    # Maximum value is 255
    5: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-5-255: 0 # random value between 5 and 255

  iris_treasures_required:
    # The number of Iris treasures required to complete the goal.
    # 
    # This setting only has an effect if the "iris_treasure_hunt" or "boss_iris_treasure_hunt" goal is active.
    # Supported values: 1 – 9
    # Default value: 9
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 9
    9: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-9: 0 # random value between 1 and 9

  master_hp:
    # The number of hit points of the Master
    # 
    # (Only has an effect if boss is set to master.)
    # Supported values: 1 – 9980
    # Default value: 9980 (same as in an unmodified game)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 9980
    9980: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-9980: 0 # random value between 1 and 9980

  party_starting_level:
    # The starting level of your party members.
    # 
    # Supported values: 1 – 99
    # Default value: 1 (same as in an unmodified game)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 99
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-99: 0 # random value between 1 and 99

  run_speed:
    # Modifies the game to allow you to move faster than normal when pressing the Y button.
    # 
    # Supported values: disabled, double, triple, quadruple
    # Default value: disabled (same as in an unmodified game)
    disabled: 50
    double: 0
    triple: 0
    quadruple: 0

  shop_interval:
    # Place shops after a certain number of floors.
    # 
    # E.g., if you set this to 5, then you will be given the opportunity to shop after completing B5, B10, B15, etc.,
    # whereas if you set it to 1, then there will be a shop after every single completed floor.
    # Shops will offer a random selection of wares; on deeper floors, more expensive items might appear.
    # You can customize the stock that can appear in shops using the shop_inventory option.
    # You can control how much gold you will be obtaining from enemies using the gold_multiplier option.
    # Supported values: disabled, 1 – 10
    # Default value: disabled (same as in an unmodified game)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 10
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-10: 0 # random value between 1 and 10
    disabled: 50 # equivalent to 0

  shop_inventory:
    # Determine the item types that can appear in shops.
    # 
    # The value of this option should be a mapping of item categories (or individual items) to weights (non-negative
    # integers), which are used as relative probabilities when it comes to including these things in shops. (The actual
    # contents of the generated shops are selected randomly and are subject to additional constraints such as more
    # expensive things being allowed only on later floors.)
    # Supported keys:
    # non_restorative — a selection of mostly non-restorative red chest consumables
    # restorative — all HP- or MP-restoring red chest consumables
    # blue_chest — all blue chest items
    # spell — all red chest spells
    # gear — all red chest armors, shields, headgear, rings, and rocks (this respects the gear_variety_after_b9 option,
    #     meaning that you will not encounter any shields, headgear, rings, or rocks in shops from B10 onward unless you
    #     also enabled that option)
    # weapon — all red chest weapons
    # Additionally, you can also add extra weights for any specific cave item. If you want your shops to have a
    # higher than normal chance of selling a Dekar blade, you can, e.g., add "Dekar blade: 5".
    # You can even forego the predefined categories entirely and design a custom shop pool from scratch by providing
    # separate weights for each item you want to include.
    # (Spells, however, cannot be weighted individually and are only available as part of the "spell" category.)
    # Default value: {spell: 30, gear: 45, weapon: 82}
    gear: 45
    spell: 30
    weapon: 82

  shuffle_capsule_monsters:
    # Shuffle the capsule monsters into the multiworld.
    # 
    # Supported values:
    # false — all 7 capsule monsters are available in the menu and can be selected right away
    # true — you start without capsule monster; 7 new "items" are added to your pool and shuffled into the multiworld;
    #     when one of these items is found, the corresponding capsule monster is unlocked for you to use
    # Default value: false (same as in an unmodified game)
    'false': 50
    'true': 0

  shuffle_party_members:
    # Shuffle the party members into the multiworld.
    # 
    # Supported values:
    # false — all 6 optional party members are present in the cafe and can be recruited right away
    # true — only Maxim is available from the start; 6 new "items" are added to your pool and shuffled into the
    #     multiworld; when one of these items is found, the corresponding party member is unlocked for you to use.
    #     While cave diving, you can add or remove unlocked party members by using the character items from the inventory
    # Default value: false (same as in an unmodified game)
    'false': 50
    'true': 0

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
